"""
FileName：data_util.py
Description：
Author：gaojiahui
Time：2025/8/18 20:12
Website：https://gitee.com/gao-jiahui
"""
import random
import string

from faker import Faker

fake = Faker('zh_CN')

def generate_random_string(length=8):
    """生成随机字符串"""
    letters = string.ascii_letters
    return ''.join(random.choice(letters) for _ in range(length))

def generate_random_uppercase_string(length=5):
    """
    生成指定长度的随机大写字母字符串
    :param length: 字符串长度，默认10
    :return: 全大写随机字符串
    """
    return ''.join(random.choices(string.ascii_uppercase, k=length))

def generate_phone_number():
    """生成随机手机号"""
    return f"1{random.randint(3,9)}{random.randint(10000000,99999999)}"

def generate_name():
    """"生成随机名字"""
    return fake.name()

def generate_role_data():
    """生成角色测试数据"""
    return {
        "roleName": f"测试角色_{generate_random_string(4)}",
        "roleCode": f"TEST_{generate_random_string(4)}",
        "roleDesc": fake.sentence()
    }

def generate_dept_data(parent_id=0):
    """生成部门测试数据"""
    return {
        "name": f"测试部门_{generate_random_string(4)}",
        "parentId": parent_id,
        "sort": random.randint(1, 100),
        "description": fake.sentence()
    }